Ranking professional triathletes is relatively easy. They race often, they race the same events, and they're all roughly the same age. Age groupers are a different story.

A South African age grouper has a job. Possibly kids. Definitely a limited budget and a limited number of race entries per year. Some of us do three 70.3s and nothing else. Some do one IRONMAN and call it a season. Some are 32 and some are 62.

That creates two problems that any honest ranking system has to solve:

You can't compare age groups on raw time. A 55-year-old and a 30-year-old aren't really racing each other. They're racing very different physiology. Putting them on the same finishing-time list tells you almost nothing.

You can't blend Full-distance and 70.3 results on raw time either. They're different races, run at different intensities, with different failure modes. A 9:15 IRONMAN and a 4:20 70.3 aren't comparable numbers in any meaningful sense.

The SATriHub Combined Rankings solve both by throwing away raw finishing time entirely and converting every result into a single adjusted score.

What a score actually means

Every race result becomes a number where 100 is the baseline: roughly what a typical M30-34 athlete produces once course conditions have been accounted for.

Above 100 means you performed better than that baseline. Below 100 means below it. That's the whole scale, and it holds whether you raced Nelson Mandela Bay, Durban, or a 70.3 in Europe.

Two ladders, one formula

The page has a toggle with two ranking systems running side by side. Same maths, one switch flipped:

AGI (Age-Graded) is the standard system. Every result gets an age-grading factor applied, so a 58-year-old and a 31-year-old land on the same scale and can be ranked against each other fairly.

Open (Raw Performance) uses the identical formula with age-grading switched off — everyone gets a factor of 1.0. This is pure distance-and-difficulty-adjusted pace, no age normalisation. It answers a different question: not "who is performing best for their age," but "who is fastest, full stop."

Neither one is the "real" ranking. They're two different questions, and both are worth asking.

Scoring a single race

Three ingredients go into every race score.

  1. The distance baseline

For Full-distance and 70.3 separately, SATriHub calculates a grand average finishing time across every scoreable race edition in the database. That average is what "100" is calibrated against. Your time is measured against the baseline for the distance you actually raced — so a Full is judged against Fulls, and a 70.3 against 70.3s.

  1. The age-grading factor (AGI only)

The factors come from the IRONMAN/WTC Kona-standard age-grading table — the same set of factors historically used to keep Kona qualifying-slot allocation equitable across age groups. M30-34 sits at 1.0 as the baseline.

  1. The race-day difficulty score

This is the part that makes the system honest.

Not every edition of a race is equally hard. A brutally hot day in Port Elizabeth, a windy bike leg, a course change — these things are real, and scoring a survival-mode result the same as a perfect-conditions one would be nonsense.

So for every race edition, SATriHub takes the average finishing time of a baseline age group and divides the grand average across all editions by it. That produces a difficulty score:

Above 1.0 — that edition ran harder than typical Below 1.0 — it ran easier than typical

Two details matter here.

First, the difficulty score is calculated from the full public results, not just South African finishers. A fair course average needs the entire field, not a subset of it.

Second, and this is deliberate: no cause is ever guessed. A slow edition is never labelled "bad weather." A fast one is never labelled "shortened course." Every edition goes into the baseline with equal weight and zero causal framing, because finishing-time data on its own genuinely cannot tell the difference between a shortened bike leg and a strong field having a very good day. The system reports what the times say and stops there.

The Full-distance multiplier

Full-distance race scores are then multiplied by 1.2×.

This credits the extra difficulty of racing 226km instead of 113km. It's proportional rather than a flat bonus, which matters: a flat add-on would be nearly invisible on a strong performance and disproportionately generous on a weak one. Multiplying keeps the credit consistent across the whole range.

Building an athlete's total

Your ranking score is the sum of your best 5 race scores in a rolling 36-month window, with a hard cap of 2 Full-distance races.

The 36-month window is the concession to real life. Age groupers don't race a full professional calendar, and a 12-month window would rank whoever happened to have a clear diary rather than whoever is actually strongest.

The 2-Full cap exists for a specific reason. Because Full-distance scores run higher on average after the 1.2× multiplier, an athlete who races four IRONMANs a year would out-rank a genuinely stronger athlete purely on volume and distance selection. The cap stops that. Race more Fulls if you want to — only your best 2 count toward the total, and the remaining slots fill with your best 70.3 results.

If you've done 0 or 1 Full in the window, nothing happens to you: the rest of your top 5 is simply made up of 70.3s. And if you've raced fewer than 5 times in three years, fewer numbers get summed. There's no minimum race count to appear in the rankings.

World Championships

Championship races break the difficulty formula, because the field is structurally different. Everyone there qualified. A qualifier-only field finishes far faster than a normal age-group field, which would make Worlds register as an unusually "easy" day if it were scored against its own field. The two distances are handled differently:

70.3 Worlds is scored using the host course's own non-championship average from the nearest available year. Because the venue rotates, there's usually a normal race at the same location to borrow a baseline from.

Kona has no non-championship edition of itself to compare against. So every Kona edition is assigned a fixed difficulty score of 1.0 — neutral, independent of its own field's times entirely.

Why shortened races still count here

This is a deliberate departure from how SATriHub handles personal bests and national records, where a shortened swim, bike, or run leg disqualifies the result outright.

The rankings take the opposite view. A shortened IRONMAN was still trained for and still raced. Removing it from an athlete's ranking score would punish them for a decision made by a race director on the morning. Instead, the course-difficulty adjustment absorbs the effect naturally — if the shortened edition ran fast, its difficulty score reflects that.

Importantly, being shortened doesn't cap how hard an edition is allowed to register as. A shortened edition of a genuinely brutal course can still score well above baseline, because the times say so.

What the rankings are, and what they aren't

The Combined Rankings tell you who the strongest South African age-group triathletes are right now, across both distances, with age and course conditions taken out of the equation.

They aren't a record book. They aren't a substitute for looking at a result and knowing what the day was like. And they'll never claim to know why a race was fast or slow.

What they do is give every South African age grouper — the 34-year-old doing four 70.3s a year, the 61-year-old doing one IRONMAN — a fair place on the same list.